package com.fg.cloud.manager.service.order;

import java.util.List;
import java.util.Map;

import com.fg.cloud.common.PageUtils;
import com.fg.cloud.manager.entry.order.OrderDeliveryDetailEntity;
import com.fg.cloud.manager.entry.order.OrderDeliveryInfoEntity;
import com.fg.cloud.manager.entry.order.OrderInfoEntity;
import com.fg.cloud.manager.entry.order.vo.ResultDeliveryVo;

public interface OrderDeliveryService {

	/**
	 * 
	 * Description:查询发货单列表
	 * @param pageinfo
	 * @author 陈银龙
	 * @date 2017年8月24日上午10:27:16
	 */
	void orderList(PageUtils<OrderDeliveryInfoEntity> pageinfo);

	/**
	 * 
	 * Description:根据id查订单(厂商订单发货)
	 * @param usmap
	 * @return
	 * @author 陈银龙
	 * @date 2017年8月24日上午11:56:52
	 */
	OrderInfoEntity findByIdAndOrderOrigin(Map<String, Object> usmap);

	/**
	 * 
	 * Description:发货单新增
	 * @param odi
	 * @param usmap
	 * @return
	 * @author 陈银龙
	 * @date 2017年8月25日上午9:58:11
	 */
	Integer insertOrder(OrderDeliveryInfoEntity odi);

	/**
	 * Description:发货
	 * @param oe
	 * @author 陈银龙
	 * @return 
	 * @date 2017年8月25日上午11:58:21
	 */
	ResultDeliveryVo deliver(OrderDeliveryInfoEntity odi);

	/**
	 * 
	 * Description:发货单详情
	 * @param usmap
	 * @return
	 * @author 陈银龙
	 * @date 2017年8月25日下午3:51:57
	 */
	OrderDeliveryInfoEntity findDeliveryDatailsById(Map<String, Object> usmap);

	/**
	 * Description:修改发货单
	 * @param odi
	 * @return
	 * @author 陈银龙
	 * @date 2017年8月25日下午5:54:37
	 */
	Integer updateDelOrder(OrderDeliveryInfoEntity odi);

	/**
	 * Description:高级查询
	 * @return
	 * @author 陈银龙
	 * @param pageinfo 
	 * @date 2017年8月28日上午10:07:14
	 */
	void findBySenior(PageUtils<OrderDeliveryInfoEntity> pageinfo);

	/**
	 * 
	 * Description:发货单删除
	 * @param usmap
	 * @return
	 * @author 陈银龙
	 * @date 2017年8月30日下午1:39:53
	 */
	Integer deleteDelOrder(Map<String, Object> usmap);

	/**
	 * 修改流程
	 * */
	Long updateProcess(Map<String, Object> usmap);

	/**
	 * 通过订单id查规格
	 * */
	List<OrderDeliveryDetailEntity> findDetailByIdAndOrderOrigin(Map<String, Object> usmap);

	/**
	 * 查询订单下所有发货单和详情
	 * */
	void findDeliveryByOrderId(PageUtils<OrderDeliveryInfoEntity> pageinfo);

	/**
	 * 查询订单头
	 * */
	void findList(PageUtils<OrderInfoEntity> pageinfo);

}
